#include <bits/stdc++.h>

/**
 * using 声明与 using 编译指令的区别
 * 使用编译指令导入一个命名空间的所有名称，更像是大量使用“作用域解析运算符”，局部变量重名会隐藏
 * 而不是大量使用“using编译指令”，局部变量重名会报错
 * 
 */

namespace Jill{
    double fetch=1.0;
    int buck = 1;
    struct Hill
    {
        double ele1;
        int ele2;
    };
    
}

void test_using_declaration(){
    using Jill::fetch;
    // int fetch = 3;               // Error
    std::cout << fetch << std::endl;
}

void test_using_compile_instructor(){
    using namespace Jill;
    double fetch = 3;               // Hide Jill::fecth
    double buck = 4;                // Hide Jill::buck, even if different type
    std::cout << fetch << " " << buck << std::endl;
}
int main()
{
    test_using_declaration();

    test_using_compile_instructor();

    return 0;
}